﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Linq.Expressions;
using System.Text;

namespace DomainDriver.DomainModeling.DomainObjects
{
    public interface IDomainObject<DOMAIN_OBJECT>
    {
        DOMAIN_OBJECT Copy();
        void CopyTo(DOMAIN_OBJECT receivingObject);
        bool Equals(DOMAIN_OBJECT otherObject);
        string GetPropertyName(Expression<Func<DOMAIN_OBJECT, object>> propertyGetter);
    }
}